/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.upn.sigemfi.vfi.be;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 *
 * @author Alex
 */
@Entity
@Table(name = "VFI_LAVADO_ACTIVOS")
@NamedQueries({@NamedQuery(name = "LavadoActivos.findAll", query = "SELECT l FROM LavadoActivos l"), @NamedQuery(name = "LavadoActivos.findByIdLavadoActivos", query = "SELECT l FROM LavadoActivos l WHERE l.idLavadoActivos = :idLavadoActivos"), @NamedQuery(name = "LavadoActivos.findByMontoSobrepasado", query = "SELECT l FROM LavadoActivos l WHERE l.montoSobrepasado = :montoSobrepasado")})
public class LavadoActivos implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "ID_LAVADO_ACTIVOS", nullable = false)
    private Long idLavadoActivos;
    @Column(name = "MONTO_SOBREPASADO", precision = 53)
    private Double montoSobrepasado;
    @JoinColumn(name = "ID_LAVADO_ACTIVOS", referencedColumnName = "ID_DETALLE_TRANSACCION", nullable = false, insertable = false, updatable = false)
    @OneToOne(optional = false, fetch = FetchType.LAZY)
    private DetalleTransaccion detalleTransaccion;

    public LavadoActivos() {
    }

    public LavadoActivos(Long idLavadoActivos) {
        this.idLavadoActivos = idLavadoActivos;
    }

    public Long getIdLavadoActivos() {
        return idLavadoActivos;
    }

    public void setIdLavadoActivos(Long idLavadoActivos) {
        this.idLavadoActivos = idLavadoActivos;
    }

    public Double getMontoSobrepasado() {
        return montoSobrepasado;
    }

    public void setMontoSobrepasado(Double montoSobrepasado) {
        this.montoSobrepasado = montoSobrepasado;
    }

    public DetalleTransaccion getDetalleTransaccion() {
        return detalleTransaccion;
    }

    public void setDetalleTransaccion(DetalleTransaccion detalleTransaccion) {
        this.detalleTransaccion = detalleTransaccion;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idLavadoActivos != null ? idLavadoActivos.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof LavadoActivos)) {
            return false;
        }
        LavadoActivos other = (LavadoActivos) object;
        if ((this.idLavadoActivos == null && other.idLavadoActivos != null) || (this.idLavadoActivos != null && !this.idLavadoActivos.equals(other.idLavadoActivos))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "edu.upn.sigemfi.vfi.be.LavadoActivos[idLavadoActivos=" + idLavadoActivos + "]";
    }

}
